// $ANTLR 3.4 C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g 2012-10-17 02:59:38

   package analexc;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class Analexc extends Lexer {
    public static final int EOF=-1;
    public static final int AND=4;
    public static final int BLANCO=5;
    public static final int CADENA=6;
    public static final int CHAR=7;
    public static final int COMA=8;
    public static final int COMENTARIO=9;
    public static final int COMENTARIO_LINEA=10;
    public static final int COMILLAS=11;
    public static final int COMPAR=12;
    public static final int DIGITO=13;
    public static final int IDENT=14;
    public static final int IF=15;
    public static final int IGUAL=16;
    public static final int INT=17;
    public static final int LETRA=18;
    public static final int LLAVCL=19;
    public static final int LLAVOP=20;
    public static final int NUEVA_LINEA=21;
    public static final int NUMERO=22;
    public static final int OPERADOR=23;
    public static final int PARCL=24;
    public static final int PAROP=25;
    public static final int PERCENT=26;
    public static final int SEPARADOR=27;
    public static final int VOID=28;
    public static final int WHILE=29;

    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public Analexc() {} 
    public Analexc(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public Analexc(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g"; }

    // $ANTLR start "NUEVA_LINEA"
    public final void mNUEVA_LINEA() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:39:12: ( ( ( '\\r' )? '\\n' ) )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:39:14: ( ( '\\r' )? '\\n' )
            {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:39:14: ( ( '\\r' )? '\\n' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:39:15: ( '\\r' )? '\\n'
            {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:39:15: ( '\\r' )?
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0=='\r') ) {
                alt1=1;
            }
            switch (alt1) {
                case 1 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:39:15: '\\r'
                    {
                    match('\r'); 

                    }
                    break;

            }


            match('\n'); 

            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUEVA_LINEA"

    // $ANTLR start "LETRA"
    public final void mLETRA() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:42:6: ( ( 'A' .. 'Z' ) | ( 'a' .. 'z' ) )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:45:7: ( '0' .. '9' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "COMILLAS"
    public final void mCOMILLAS() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:48:10: ( '\"' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:48:12: '\"'
            {
            match('\"'); 

            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMILLAS"

    // $ANTLR start "INT"
    public final void mINT() throws RecognitionException {
        try {
            int _type = INT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:51:5: ( 'int' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:51:7: 'int'
            {
            match("int"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INT"

    // $ANTLR start "CHAR"
    public final void mCHAR() throws RecognitionException {
        try {
            int _type = CHAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:53:6: ( 'char' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:53:8: 'char'
            {
            match("char"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CHAR"

    // $ANTLR start "IF"
    public final void mIF() throws RecognitionException {
        try {
            int _type = IF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:55:4: ( 'if' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:55:6: 'if'
            {
            match("if"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IF"

    // $ANTLR start "WHILE"
    public final void mWHILE() throws RecognitionException {
        try {
            int _type = WHILE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:57:7: ( 'while' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:57:9: 'while'
            {
            match("while"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WHILE"

    // $ANTLR start "VOID"
    public final void mVOID() throws RecognitionException {
        try {
            int _type = VOID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:59:6: ( 'void' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:59:8: 'void'
            {
            match("void"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VOID"

    // $ANTLR start "COMENTARIO"
    public final void mCOMENTARIO() throws RecognitionException {
        try {
            int _type = COMENTARIO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:61:12: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:61:14: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 



            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:61:19: ( options {greedy=false; } : . )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0=='*') ) {
                    int LA2_1 = input.LA(2);

                    if ( (LA2_1=='/') ) {
                        alt2=2;
                    }
                    else if ( ((LA2_1 >= '\u0000' && LA2_1 <= '.')||(LA2_1 >= '0' && LA2_1 <= '\uFFFF')) ) {
                        alt2=1;
                    }


                }
                else if ( ((LA2_0 >= '\u0000' && LA2_0 <= ')')||(LA2_0 >= '+' && LA2_0 <= '\uFFFF')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:61:44: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            match("*/"); 



            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO"

    // $ANTLR start "COMENTARIO_LINEA"
    public final void mCOMENTARIO_LINEA() throws RecognitionException {
        try {
            int _type = COMENTARIO_LINEA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:63:18: ( '//' ( options {greedy=false; } : . )* NUEVA_LINEA )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:63:20: '//' ( options {greedy=false; } : . )* NUEVA_LINEA
            {
            match("//"); 



            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:63:25: ( options {greedy=false; } : . )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0=='\r') ) {
                    alt3=2;
                }
                else if ( (LA3_0=='\n') ) {
                    alt3=2;
                }
                else if ( ((LA3_0 >= '\u0000' && LA3_0 <= '\t')||(LA3_0 >= '\u000B' && LA3_0 <= '\f')||(LA3_0 >= '\u000E' && LA3_0 <= '\uFFFF')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:63:50: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            mNUEVA_LINEA(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO_LINEA"

    // $ANTLR start "COMPAR"
    public final void mCOMPAR() throws RecognitionException {
        try {
            int _type = COMPAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:65:8: ( '<' | '>' | '!=' | '==' )
            int alt4=4;
            switch ( input.LA(1) ) {
            case '<':
                {
                alt4=1;
                }
                break;
            case '>':
                {
                alt4=2;
                }
                break;
            case '!':
                {
                alt4=3;
                }
                break;
            case '=':
                {
                alt4=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;

            }

            switch (alt4) {
                case 1 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:65:10: '<'
                    {
                    match('<'); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:65:16: '>'
                    {
                    match('>'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:65:22: '!='
                    {
                    match("!="); 



                    }
                    break;
                case 4 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:65:29: '=='
                    {
                    match("=="); 



                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMPAR"

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:67:7: ( ( ' ' | '\\t' | NUEVA_LINEA ) )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:67:9: ( ' ' | '\\t' | NUEVA_LINEA )
            {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:67:9: ( ' ' | '\\t' | NUEVA_LINEA )
            int alt5=3;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt5=1;
                }
                break;
            case '\t':
                {
                alt5=2;
                }
                break;
            case '\n':
            case '\r':
                {
                alt5=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;

            }

            switch (alt5) {
                case 1 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:67:10: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:67:14: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:67:19: NUEVA_LINEA
                    {
                    mNUEVA_LINEA(); 


                    }
                    break;

            }


            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:69:7: ( ( DIGITO )+ ( '.' ( DIGITO )+ )? )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:69:9: ( DIGITO )+ ( '.' ( DIGITO )+ )?
            {
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:69:9: ( DIGITO )+
            int cnt6=0;
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( ((LA6_0 >= '0' && LA6_0 <= '9')) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt6 >= 1 ) break loop6;
                        EarlyExitException eee =
                            new EarlyExitException(6, input);
                        throw eee;
                }
                cnt6++;
            } while (true);


            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:69:18: ( '.' ( DIGITO )+ )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0=='.') ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:69:19: '.' ( DIGITO )+
                    {
                    match('.'); 

                    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:69:22: ( DIGITO )+
                    int cnt7=0;
                    loop7:
                    do {
                        int alt7=2;
                        int LA7_0 = input.LA(1);

                        if ( ((LA7_0 >= '0' && LA7_0 <= '9')) ) {
                            alt7=1;
                        }


                        switch (alt7) {
                    	case 1 :
                    	    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt7 >= 1 ) break loop7;
                                EarlyExitException eee =
                                    new EarlyExitException(7, input);
                                throw eee;
                        }
                        cnt7++;
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "IDENT"
    public final void mIDENT() throws RecognitionException {
        try {
            int _type = IDENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:71:7: ( LETRA ( LETRA | DIGITO )* )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:71:9: LETRA ( LETRA | DIGITO )*
            {
            mLETRA(); 


            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:71:14: ( LETRA | DIGITO )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( ((LA9_0 >= '0' && LA9_0 <= '9')||(LA9_0 >= 'A' && LA9_0 <= 'Z')||(LA9_0 >= 'a' && LA9_0 <= 'z')) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "OPERADOR"
    public final void mOPERADOR() throws RecognitionException {
        try {
            int _type = OPERADOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:73:9: ( '+' | '-' | '/' | '*' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:
            {
            if ( (input.LA(1) >= '*' && input.LA(1) <= '+')||input.LA(1)=='-'||input.LA(1)=='/' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OPERADOR"

    // $ANTLR start "PAROP"
    public final void mPAROP() throws RecognitionException {
        try {
            int _type = PAROP;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:75:6: ( '(' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:75:8: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PAROP"

    // $ANTLR start "PARCL"
    public final void mPARCL() throws RecognitionException {
        try {
            int _type = PARCL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:77:6: ( ')' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:77:8: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARCL"

    // $ANTLR start "LLAVOP"
    public final void mLLAVOP() throws RecognitionException {
        try {
            int _type = LLAVOP;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:79:7: ( '{' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:79:9: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVOP"

    // $ANTLR start "LLAVCL"
    public final void mLLAVCL() throws RecognitionException {
        try {
            int _type = LLAVCL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:81:7: ( '}' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:81:9: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVCL"

    // $ANTLR start "SEPARADOR"
    public final void mSEPARADOR() throws RecognitionException {
        try {
            int _type = SEPARADOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:83:10: ( ';' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:83:12: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SEPARADOR"

    // $ANTLR start "COMA"
    public final void mCOMA() throws RecognitionException {
        try {
            int _type = COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:85:6: ( ',' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:85:8: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMA"

    // $ANTLR start "IGUAL"
    public final void mIGUAL() throws RecognitionException {
        try {
            int _type = IGUAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:87:7: ( '=' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:87:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IGUAL"

    // $ANTLR start "PERCENT"
    public final void mPERCENT() throws RecognitionException {
        try {
            int _type = PERCENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:89:9: ( '%' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:89:11: '%'
            {
            match('%'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PERCENT"

    // $ANTLR start "AND"
    public final void mAND() throws RecognitionException {
        try {
            int _type = AND;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:91:5: ( '&' )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:91:7: '&'
            {
            match('&'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "AND"

    // $ANTLR start "CADENA"
    public final void mCADENA() throws RecognitionException {
        try {
            int _type = CADENA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:93:8: ( COMILLAS ( options {greedy=false; } : . )* COMILLAS )
            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:93:10: COMILLAS ( options {greedy=false; } : . )* COMILLAS
            {
            mCOMILLAS(); 


            // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:93:19: ( options {greedy=false; } : . )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0=='\"') ) {
                    alt10=2;
                }
                else if ( ((LA10_0 >= '\u0000' && LA10_0 <= '!')||(LA10_0 >= '#' && LA10_0 <= '\uFFFF')) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:93:44: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);


            mCOMILLAS(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CADENA"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:8: ( INT | CHAR | IF | WHILE | VOID | COMENTARIO | COMENTARIO_LINEA | COMPAR | BLANCO | NUMERO | IDENT | OPERADOR | PAROP | PARCL | LLAVOP | LLAVCL | SEPARADOR | COMA | IGUAL | PERCENT | AND | CADENA )
        int alt11=22;
        alt11 = dfa11.predict(input);
        switch (alt11) {
            case 1 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:10: INT
                {
                mINT(); 


                }
                break;
            case 2 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:14: CHAR
                {
                mCHAR(); 


                }
                break;
            case 3 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:19: IF
                {
                mIF(); 


                }
                break;
            case 4 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:22: WHILE
                {
                mWHILE(); 


                }
                break;
            case 5 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:28: VOID
                {
                mVOID(); 


                }
                break;
            case 6 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:33: COMENTARIO
                {
                mCOMENTARIO(); 


                }
                break;
            case 7 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:44: COMENTARIO_LINEA
                {
                mCOMENTARIO_LINEA(); 


                }
                break;
            case 8 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:61: COMPAR
                {
                mCOMPAR(); 


                }
                break;
            case 9 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:68: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 10 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:75: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 11 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:82: IDENT
                {
                mIDENT(); 


                }
                break;
            case 12 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:88: OPERADOR
                {
                mOPERADOR(); 


                }
                break;
            case 13 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:97: PAROP
                {
                mPAROP(); 


                }
                break;
            case 14 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:103: PARCL
                {
                mPARCL(); 


                }
                break;
            case 15 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:109: LLAVOP
                {
                mLLAVOP(); 


                }
                break;
            case 16 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:116: LLAVCL
                {
                mLLAVCL(); 


                }
                break;
            case 17 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:123: SEPARADOR
                {
                mSEPARADOR(); 


                }
                break;
            case 18 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:133: COMA
                {
                mCOMA(); 


                }
                break;
            case 19 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:138: IGUAL
                {
                mIGUAL(); 


                }
                break;
            case 20 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:144: PERCENT
                {
                mPERCENT(); 


                }
                break;
            case 21 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:152: AND
                {
                mAND(); 


                }
                break;
            case 22 :
                // C:\\Users\\Jose\\workspaceN\\Analex1\\src\\main\\java\\analexc\\Analexc.g:1:156: CADENA
                {
                mCADENA(); 


                }
                break;

        }

    }


    protected DFA11 dfa11 = new DFA11(this);
    static final String DFA11_eotS =
        "\1\uffff\4\17\1\20\3\uffff\1\53\20\uffff\1\17\1\57\2\uffff\1\17"+
        "\2\uffff\1\17\2\uffff\1\17\7\uffff\1\72\4\uffff\1\17\2\uffff\1\17"+
        "\2\uffff\1\17\4\uffff\1\105\2\uffff\1\17\2\uffff\1\112\4\uffff\1"+
        "\114\6\uffff";
    static final String DFA11_eofS =
        "\116\uffff";
    static final String DFA11_minS =
        "\1\11\1\146\2\150\1\157\1\52\3\uffff\1\75\20\uffff\1\164\1\60\2"+
        "\uffff\1\141\2\uffff\1\151\2\uffff\1\151\7\uffff\1\60\4\uffff\1"+
        "\162\2\uffff\1\154\2\uffff\1\144\4\uffff\1\60\2\uffff\1\145\2\uffff"+
        "\1\60\4\uffff\1\60\6\uffff";
    static final String DFA11_maxS =
        "\1\175\1\156\2\150\1\157\1\57\3\uffff\1\75\20\uffff\1\164\1\172"+
        "\2\uffff\1\141\2\uffff\1\151\2\uffff\1\151\7\uffff\1\172\4\uffff"+
        "\1\162\2\uffff\1\154\2\uffff\1\144\4\uffff\1\172\2\uffff\1\145\2"+
        "\uffff\1\172\4\uffff\1\172\6\uffff";
    static final String DFA11_acceptS =
        "\6\uffff\1\10\3\uffff\1\11\3\uffff\1\12\1\13\1\14\1\15\1\16\1\17"+
        "\1\20\1\21\1\22\1\24\1\25\1\26\15\uffff\1\6\1\7\2\uffff\1\23\3\uffff"+
        "\1\3\12\uffff\1\1\12\uffff\1\2\4\uffff\1\5\1\uffff\1\4\1\uffff";
    static final String DFA11_specialS =
        "\116\uffff}>";
    static final String[] DFA11_transitionS = {
            "\2\12\2\uffff\1\12\22\uffff\1\12\1\6\1\31\2\uffff\1\27\1\30"+
            "\1\uffff\1\21\1\22\2\20\1\26\1\20\1\uffff\1\5\12\16\1\uffff"+
            "\1\25\1\6\1\11\1\6\2\uffff\32\17\6\uffff\2\17\1\2\5\17\1\1\14"+
            "\17\1\4\1\3\3\17\1\23\1\uffff\1\24",
            "\1\33\7\uffff\1\32",
            "\1\36",
            "\1\41",
            "\1\44",
            "\1\47\4\uffff\1\50",
            "",
            "",
            "",
            "\1\6",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\54",
            "\12\17\7\uffff\32\17\6\uffff\32\17",
            "",
            "",
            "\1\61",
            "",
            "",
            "\1\64",
            "",
            "",
            "\1\67",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\12\17\7\uffff\32\17\6\uffff\32\17",
            "",
            "",
            "",
            "",
            "\1\74",
            "",
            "",
            "\1\77",
            "",
            "",
            "\1\102",
            "",
            "",
            "",
            "",
            "\12\17\7\uffff\32\17\6\uffff\32\17",
            "",
            "",
            "\1\107",
            "",
            "",
            "\12\17\7\uffff\32\17\6\uffff\32\17",
            "",
            "",
            "",
            "",
            "\12\17\7\uffff\32\17\6\uffff\32\17",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
    static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
    static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
    static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
    static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
    static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
    static final short[][] DFA11_transition;

    static {
        int numStates = DFA11_transitionS.length;
        DFA11_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
        }
    }

    class DFA11 extends DFA {

        public DFA11(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 11;
            this.eot = DFA11_eot;
            this.eof = DFA11_eof;
            this.min = DFA11_min;
            this.max = DFA11_max;
            this.accept = DFA11_accept;
            this.special = DFA11_special;
            this.transition = DFA11_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( INT | CHAR | IF | WHILE | VOID | COMENTARIO | COMENTARIO_LINEA | COMPAR | BLANCO | NUMERO | IDENT | OPERADOR | PAROP | PARCL | LLAVOP | LLAVCL | SEPARADOR | COMA | IGUAL | PERCENT | AND | CADENA );";
        }
    }
 

}